package com.yupi.yuojcodesandbox.security;

import java.security.Permission;

public class MySecurityManager extends SecurityManager{
    //1）所有权限放开： 如果开启了super.checkPermission(perm);表示默认所有权限都会被禁用了
    @Override
    public void checkPermission(Permission perm) {
//        super.checkPermission(perm);
    }

    //2）限制执行文件权限：
    @Override
    public void checkExec(String cmd) {
        throw new SecurityException("权限异常：" + cmd.toString());
    }
    //3）限制读权限：
    @Override
    public void checkRead(String file) {
        //添加白名单 白名单里面的文件不限制读权限
        if(file.contains("C:\\code\\yuoj-code-sandbox")){
            return;
        }
//        throw new SecurityException("checkRead 权限异常：" + file);
    }
    //4）限制写文件权限：
    @Override
    public void checkWrite(String file) {
//        throw new SecurityException("checkWrite 权限异常：" + file);
    }
    //5）限制删除文件权限：
    @Override
    public void checkDelete(String file) {
//        throw new SecurityException("checkDelete 权限异常：" + file);
    }
    //6）限制网络连接权限：
    @Override
    public void checkConnect(String host, int port) {
//        throw new SecurityException("checkConnect 权限异常：" + host + ":" + port);
    }
}
